package ec.edu.ucacue.siop.dao.material;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

import ec.edu.ucacue.siop.dao.GenericDAOImpl;
import ec.edu.ucacue.siop.modelo.material.ClaseMaterial;
import ec.edu.ucacue.siop.modelo.material.ClaseMaterialRel;
import ec.edu.ucacue.siop.modelo.material.Material;
import ec.edu.ucacue.siop.modelo.material.Propiedad;
import ec.edu.ucacue.siop.modelo.material.PropiedadMaterial;

public class MaterialDAOImpl extends GenericDAOImpl<Material, BigDecimal> implements MaterialDAO{

	public Material create(String nombre, List<ClaseMaterial> listaClaseMaterial) {
		List<ClaseMaterialRel> lista = new ArrayList<ClaseMaterialRel>();
		Material material = new Material();
		material.setNombre(nombre);
		material.setListaPropiedades(new ArrayList<PropiedadMaterial>()); 
		material.setListaClase(lista);
		for(int i=0; i<listaClaseMaterial.size(); i++) {
			ClaseMaterialRel relacion = new ClaseMaterialRel();
			relacion.setClaseMaterial(listaClaseMaterial.get(i));
			relacion.setMaterial(material);
			material.getListaClase().add(relacion);
		}
		return material;
	}

	public boolean agregarPropiedad(Material material, Propiedad propiedad) {
		PropiedadMaterial relacion = new PropiedadMaterial();
		material.getListaPropiedades().add(relacion);
		relacion.setMaterial(material);
		relacion.setPropiedad(propiedad);
		return true;
	}

}
